package cn.iocoder.yudao.module.pickbook.controller.admin.book.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;

@Schema(description = "管理后台 - 绘本 Response VO")
@Data
@ExcelIgnoreUnannotated
public class BookRespVO {

    @Schema(description = "书籍唯一ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1666")
    @ExcelProperty("书籍唯一ID")
    private Long id;

    @Schema(description = "书名", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("书名")
    private String title;

    @Schema(description = "封面图片URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @ExcelProperty("封面图片URL")
    private String coverUrl;

    @Schema(description = "语言", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("语言")
    private String language;

    @Schema(description = "分类", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("分类")
    private String category;

    @Schema(description = "所属系列ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23505")
    @ExcelProperty("所属系列ID")
    private Long seriesId;

    @Schema(description = "年级水平（1-6）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("年级水平（1-6）")
    private Integer gradeLevel;

    @Schema(description = "难度等级（1-5）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("难度等级（1-5）")
    private Integer difficulty;

    @Schema(description = "标签数组（逗号分隔）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("标签数组（逗号分隔）")
    private String tags;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}